package cn.iocoder.yudao.module.scenic.remote.model.param;

import cn.iocoder.yudao.module.scenic.remote.model.param.common.BodyParam;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author superzp
 * @date 2024/04/12 09:37
 */
@NoArgsConstructor
@Data
public class ChatWithSearchBodyParam extends BodyParam {


    @JsonProperty("query")
    private String query;
    @JsonProperty("search_engine_name")
    private String searchEngineName;
    @JsonProperty("top_k")
    private Integer topK;
    @JsonProperty("history")
    private List<HistoryDTO> history;
    @JsonProperty("stream")
    private Boolean stream;
    @JsonProperty("model_name")
    private String modelName;
    @JsonProperty("temperature")
    private Double temperature;
    @JsonProperty("max_tokens")
    private Integer maxTokens;
    @JsonProperty("prompt_name")
    private String promptName;
    @JsonProperty("split_result")
    private Boolean splitResult;

    @NoArgsConstructor
    @Data
    public static class HistoryDTO {
        @JsonProperty("role")
        private String role;
        @JsonProperty("content")
        private String content;
    }
}

